package com.healthcloud.entity.accompany;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 骨松随访
 *
 * @author yucl
 * @email yucailong1111@126.com
 * @date 2019-06-21 10:14:11
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder(toBuilder = true)
public class AccompanyBlEntity implements Serializable {

    private static final long serialVersionUID = 1659041952211778142L;

    @ApiModelProperty(value = "")
    private Integer id;

    @ApiModelProperty(value = "身份证")
    private String idCard;

    @ApiModelProperty(value = "随访时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date accompanyTime;

    @ApiModelProperty(value = "下次随访时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date nextAccompanyTime;

    @ApiModelProperty(value = "随访方式 门诊 上门 电话")
    private Integer accompanyType;

    @ApiModelProperty(value = "随访医生")
    private Long doctorId;

    @ApiModelProperty(value = "随诊日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date checkTime;

    @ApiModelProperty(value = "系首诊后")
    private String afterDate;

    @ApiModelProperty(value = "随诊类型 1:按医生随诊 2:不按医生随诊")
    private Integer checkType;

    @ApiModelProperty(value = "身高")
    private Double height;

    @ApiModelProperty(value = "体重")
    private Double weight;

    @ApiModelProperty(value = "诊疗结论")
    private String checkData;

    @ApiModelProperty(value = "是否遵医嘱用药 1:是 2:否")
    private Integer usdDrug;

    @ApiModelProperty(value = "腰背痛 1:改善 2:改善不明显")
    private Integer waistType;

    @ApiModelProperty(value = "腰背痛描述")
    private String waistMsg;

    @ApiModelProperty(value = "骨痛 1:改善 2:改善不明显")
    private Integer boneType;

    @ApiModelProperty(value = "骨痛描述")
    private String boneMsg;

    @ApiModelProperty(value = "肌肉抽搐 1:改善 2:改善不明显")
    private Integer muscleType;

    @ApiModelProperty(value = "肌肉抽搐描述")
    private String muscleMsg;

    @ApiModelProperty(value = "乏力 1:改善 2:改善不明显")
    private Integer powerType;

    @ApiModelProperty(value = "乏力描述")
    private String powerMsg;

    @ApiModelProperty(value = "行走距离 1:改善 2:改善不明显")
    private Integer walkType;

    @ApiModelProperty(value = "行走距离描述")
    private String walkMsg;

    @ApiModelProperty(value = "上认诊疗后有无骨折 1:是 2:否")
    private Integer newFracture;

    @ApiModelProperty(value = "行走状态 1:独立行走 2:需要器械协助 3:卧床")
    private Integer walkState;

    @ApiModelProperty(value = "站立 起来是否需要帮助 1:需要 2:不需要")
    private Integer standHelp;

    @ApiModelProperty(value = "其它说明情况")
    private String checkOther;

    @ApiModelProperty(value = "本次检查项目 1:未作任何检查 2:DXA 3:超声骨测量 4:X线检查 5:CT检查 6:MRI检查 7:骨代谢检查 8:实验室检查 9:其他检查")
    private String checkProject;

    @ApiModelProperty(value = "下次检查项目 1:未作任何检查 2:DXA 3:超声骨测量 4:X线检查 5:CT检查 6:MRI检查 7:骨代谢检查 8:实验室检查 9:其他检查")
    private String checkProjectNext;

    @ApiModelProperty(value = "骨形成 1:已查 2:未查")
    private Integer formation;

    @ApiModelProperty(value = "骨形成检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date formationTime;

    @ApiModelProperty(value = "")
    private String formationALP;

    @ApiModelProperty(value = "")
    private String formationBALP;

    @ApiModelProperty(value = "")
    private String formationOC;

    @ApiModelProperty(value = "")
    private String formationPICP;

    @ApiModelProperty(value = "")
    private String formationPINP;

    @ApiModelProperty(value = "骨吸收 1:已查 2未查")
    private Integer absorb;

    @ApiModelProperty(value = "骨吸收检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date absorbTime;

    @ApiModelProperty(value = "")
    private String absorbTRACP;

    @ApiModelProperty(value = "")
    private String absorbSCTX;

    @ApiModelProperty(value = "")
    private String absorbPyr;

    @ApiModelProperty(value = "")
    private String absorbDPyr;

    @ApiModelProperty(value = "")
    private String absorbUCTX;

    @ApiModelProperty(value = "")
    private String absorbUNTX;

    @ApiModelProperty(value = "骨代谢 1:已查 2:未查")
    private Integer metabolize;

    @ApiModelProperty(value = "骨代谢时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date metabolizeTime;

    @ApiModelProperty(value = "")
    private String metabolizePTH;

    @ApiModelProperty(value = "")
    private String metabolizeCT;

    @ApiModelProperty(value = "")
    private String metabolizeCa;

    @ApiModelProperty(value = "")
    private String metabolizeP;

    @ApiModelProperty(value = "")
    private String metabolize25OHD3;

    @ApiModelProperty(value = "")
    private String metabolize125OHD3;

    @ApiModelProperty(value = "X检查 1:已查 2:未查")
    private Integer lineRay;

    @ApiModelProperty(value = "X检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date lineTime;

    @ApiModelProperty(value = "骨折 1:无 2:胸椎 3:腰椎 4:骨盆 5:股骨干 6:股骨颈 7:粗隆间 8:胫骨 9:腓骨 10:桡骨 11:尺骨 12:肱骨 13:肋骨 14:脚踝")
    private String lineFracture;

    @ApiModelProperty(value = "胸椎骨折情况")
    private String lineChest;

    @ApiModelProperty(value = "图片")
    private String linePhoto;

    @ApiModelProperty(value = "症状描述")
    private String lineMsg;

    @ApiModelProperty(value = "血常规 1:已查 2:未查")
    private Integer blood;

    @ApiModelProperty(value = "血常规检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date bloodTime;

    @ApiModelProperty(value = "")
    private String bloodWBC;

    @ApiModelProperty(value = "")
    private String bloodRBC;

    @ApiModelProperty(value = "")
    private String bloodHb;

    @ApiModelProperty(value = "")
    private String bloodPLT;

    @ApiModelProperty(value = "")
    private String bloodPINP;

    @ApiModelProperty(value = "尿常规 1:已查 2:未查")
    private Integer urine;

    @ApiModelProperty(value = "尿常规检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date urineTime;

    @ApiModelProperty(value = "尿常规状态 1:无异常 2:异常")
    private Integer urineState;

    @ApiModelProperty(value = "尿常规异常信息")
    private String urineMsg;

    @ApiModelProperty(value = "生化检查 1:已查 2:未查")
    private Integer biochemistry;

    @ApiModelProperty(value = "生化检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date biochemistryTime;

    @ApiModelProperty(value = "")
    private String biochemistryCr;

    @ApiModelProperty(value = "")
    private String biochemistryUA;

    @ApiModelProperty(value = "")
    private String biochemistryUrea;

    @ApiModelProperty(value = "")
    private String biochemistryESR;

    @ApiModelProperty(value = "甲状腺检查 1:已查 2:未查")
    private Integer thyroid;

    @ApiModelProperty(value = "甲状腺检查时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date thyroidTime;

    @ApiModelProperty(value = "")
    private String thyroidTT3;

    @ApiModelProperty(value = "")
    private String thyroidTT4;

    @ApiModelProperty(value = "")
    private String thyroidFT3;

    @ApiModelProperty(value = "")
    private String thyroidFT4;

    @ApiModelProperty(value = "")
    private String thyroidTSH;

    @ApiModelProperty(value = "是否开药 1:是 2:否")
    private Integer prescribingDrugs;

    @ApiModelProperty(value = "是否完善上次 1:是 2:否")
    private Integer prescribingDrugsPre;

    @ApiModelProperty(value = "")
    private Date createTime;

    @ApiModelProperty(value = "")
    private Date updateTime;

    @ApiModelProperty(value = "骨松随访有无药物 1:是 2:否")
    private Integer hasMedical;

    @ApiModelProperty(value = "β-CTX")
    private String beitaCTX;

    @ApiModelProperty(value = "肝功能：谷丙转氨")
    private String liverSGPT;

    @ApiModelProperty(value = "肝功能：谷草转氨")
    private String liverSGOT;

    @ApiModelProperty(value = "肝功能：总胆红素")
    private String liverTBIL;

    @ApiModelProperty(value = "血K-LC")
    private String bloodKLC;

    @ApiModelProperty(value = "血λ-LC")
    private String bloodLLC;

    @ApiModelProperty(value = "备注字段：暂时存储无药物随访类型")
    private String remark;

}